<template>
  <div class="todo-header">
    <input type="text" 
          v-model="title"
          placeholder="请输入你的任务名称，按回车键确认" 
          @keyup.enter="add" />
  </div>
</template>

<script lang="ts">
import { defineComponent, ref } from "vue";
import {Todo} from '../types/Todo'

export default defineComponent({
  name: "Header",
  props: {
    addTodo: {
      type: Function,
      required: true
    }
  },
  setup(props) {
    const title = ref('')
  
    // 添加待办方法
    const add = ()=> {
        if(!title.value) return 
        const item: Todo = {
          id: Date.now(),
          title: title.value,
          isCompleted: false
        }
        // 调用 todo 方法增加待办事项
        props.addTodo(item)
        // 清除
        title.value = ''
    }
    return {
      add,
      title
    }
  }
});
</script>

<style scoped>
/*header*/
.todo-header input {
  width: 560px;
  height: 28px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 4px 7px;
}

.todo-header input:focus {
  outline: none;
  border-color: rgba(82, 168, 236, 0.8);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(82, 168, 236, 0.6);
}
</style>
